From 1d49f933e91152b2a505e1b1460cf6017ce5a8e6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 8 Aug 2020 23:50:45 -0400 Subject: [PATCH] gtk-demo: Adapt hightlighting style for dark themes Switch to a highlight style that is readable with dark background, if prefer-dark is set or we are in HighContrastInverse. --- demos/gtk-demo/main.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index 2c8686044d..2b1c36f611 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -244,6 +244,23 @@ fontify_text (const char *format, GBytes *stderr_buf = NULL; GError *error = NULL; char *format_arg; + GtkSettings *settings; + char *theme; + gboolean prefer_dark; + const char *style_arg; + + settings = gtk_settings_get_default (); + g_object_get (settings, + "gtk-theme-name", &theme, + "gtk-application-prefer-dark-theme", &prefer_dark, + NULL); + + if (prefer_dark || strcmp (theme, "HighContrastInverse") == 0) + style_arg = "--style=edit-vim-dark"; + else + style_arg = "--style=edit-kwrite"; + + g_free (theme); format_arg = g_strconcat ("--syntax=", format, NULL); subprocess = g_subprocess_new (G_SUBPROCESS_FLAGS_STDIN_PIPE | @@ -253,6 +270,7 @@ fontify_text (const char *format, "highlight", format_arg, "--out-format=pango", + style_arg, NULL); g_free (format_arg); -- 2.30.2